SSSD-LDAP(5) | Формати файлів та правила | SSSD-LDAP(5) |
NAME¶
sssd-ldap - Модуль надання даних LDAP SSSD
ОПИС¶
На цій сторінці довідника описано налаштування доменів LDAP для sssd(8). Щоб дізнатися більше про синтаксис налаштування, зверніться до розділу «ФОРМАТ ФАЙЛІВ» сторінки довідника sssd.conf(5).
Ви можете налаштувати SSSD на використання декількох доменів LDAP.
У основному модулі LDAP передбачено підтримку засобів надання ідентифікатора (id), уповноважень (auth), доступу (access) та зміни паролів (chpass). Якщо ви бажаєте виконувати розпізнавання на сервері LDAP, потрібен TLS/SSL або LDAPS. У sssd не передбачено підтримки розпізнавання за допомогою шифрованого каналу обміну даними. Якщо сервер LDAP використовується лише для надання даних профілів, потреби у шифруванні каналу обміну даними немає. Будь ласка, зверніться до опису параметра налаштування “ldap_access_filter”, щоб дізнатися більше про використання LDAP, як засобу керування доступом.
ПАРАМЕТРИ НАЛАШТУВАННЯ¶
Всі загальні параметри налаштування, які стосуються доменів SSSD, також стосуються і доменів LDAP. Зверніться до розділу «РОЗДІЛИ ДОМЕНІВ» сторінки підручника sssd.conf(5), щоб дізнатися більше.
ldap_uri, ldap_backup_uri (рядок)
Формат адреси має відповідати формату, що визначається RFC 2732:
ldap[s]://<вузол>[:порт]
У явних адресах IPv6 <вузол> має бути вказано у квадратних дужках, []
приклад: ldap://[fc00::126:25]:389
ldap_chpass_uri, ldap_chpass_backup_uri (рядок)
Для того, щоб уможливити визначення служб, слід встановити значення параметра ldap_chpass_dns_service_name.
Типове значення: порожнє, тобто використовується ldap_uri.
ldap_search_base (рядок)
Починаючи з SSSD 1.7.0, у SSSD передбачено підтримку визначення декількох основ для пошуку за допомогою таких синтаксичних конструкцій:
основа_пошуку[?діапазон?[фільтр][?основа_пошуку?діапазон?[фільтр]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево).
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади:
ldap_search_base = dc=example,dc=com (еквівалентне до) ldap_search_base = dc=example,dc=com?subtree?
ldap_search_base = cn=host_specific,dc=example,dc=com?subtree?(host=thishost)?dc=example.com?subtree?
Зауваження: підтримки визначення декількох основ пошуку з посиланням на об’єкти з однаковими назвами (наприклад груп з однаковою назвою у двох різних основах пошуку) не передбачено. Такі визначення можуть призвести до непередбачуваних результатів на клієнтських комп’ютерах.
Типове значення: якщо значення не встановлено, буде використано значення атрибута defaultNamingContext або namingContexts з RootDSE сервера LDAP. Якщо запису defaultNamingContext не існує або цей запис має порожнє значення, буде використано namingContexts. Для роботи системи потрібно, щоб атрибут namingContexts має єдине значення DN бази пошуку сервера LDAP. Підтримки визначення декількох значень не передбачено.
ldap_schema (рядок)
У поточній версії передбачено підтримку чотирьох типів схем:
Основною відмінністю між цими типами схем є спосіб запису даних щодо участі у групах на сервері. Відповідно до rfc2307, список учасників груп впорядковується за користувачами у атрибуті memberUid. Відповідно до rfc2307bis і IPA, список учасників груп впорядковується за назвою домену (DN) і зберігається у атрибуті member. Відповідно до типу схеми AD, встановлюється відповідність зі значеннями Active Directory 2008r2.
Типове значення: rfc2307
ldap_default_bind_dn (рядок)
ldap_default_authtok_type (рядок)
У поточній версії передбачено підтримку двох механізмів:
password
obfuscated_password
Типове значення: password
ldap_default_authtok (рядок)
ldap_user_object_class (рядок)
Типове значення: posixAccount
ldap_user_name (рядок)
Типове значення: uid
ldap_user_uid_number (рядок)
Типове значення: uidNumber
ldap_user_gid_number (рядок)
Типове значення: gidNumber
ldap_user_gecos (рядок)
Типове значення: gecos
ldap_user_home_directory (рядок)
Типове значення: homeDirectory
ldap_user_shell (рядок)
Типове значення: loginShell
ldap_user_uuid (рядок)
Типове значення: не встановлено у загальному випадку, objectGUID для AD і ipaUniqueID для IPA
ldap_user_objectsid (рядок)
Типове значення: objectSid для ActiveDirectory, не встановлено для інших серверів.
ldap_user_modify_timestamp (рядок)
Типове значення: modifyTimestamp
ldap_user_shadow_last_change (рядок)
Типове значення: shadowLastChange
ldap_user_shadow_min (рядок)
Типове значення: shadowMin
ldap_user_shadow_max (рядок)
Типове значення: shadowMax
ldap_user_shadow_warning (рядок)
Типове значення: shadowWarning
ldap_user_shadow_inactive (рядок)
Типове значення: shadowInactive
ldap_user_shadow_expire (рядок)
Типове значення: shadowExpire
ldap_user_krb_last_pwd_change (рядок)
Типове значення: krbLastPwdChange
ldap_user_krb_password_expiration (рядок)
Типове значення: krbPasswordExpiration
ldap_user_ad_account_expires (рядок)
Типове значення: accountExpires
ldap_user_ad_user_account_control (рядок)
Типове значення: userAccountControl
ldap_ns_account_lock (рядок)
Типове значення: nsAccountLock
ldap_user_nds_login_disabled (рядок)
Типове значення: loginDisabled
ldap_user_nds_login_expiration_time (рядок)
Типове значення: loginDisabled
ldap_user_nds_login_allowed_time_map (рядок)
Типове значення: loginAllowedTimeMap
ldap_user_principal (рядок)
Типове значення: krbPrincipalName
ldap_user_extra_attrs (рядок)
Список може або містити лише назви атрибутів LDAP, або відокремлені двокрапками кортежі з назви атрибута кешу SSSD та назви атрибута LDAP. Якщо вказано лише назву атрибута LDAP, атрибут зберігається до кешу буквально. Використання нетипової назви атрибута SSSD може бути потрібним середовищам, де налаштовано декілька доменів SSSD з різними схемами LDAP.
Будь ласка, зауважте, що декілька назв атрибутів зарезервовано SSSD, зокрема атрибут «name». SSSD повідомить про помилку, якщо будь-які із зарезервованих назв атрибутів використано як назву додаткового атрибута.
Приклади:
ldap_user_extra_attrs = telephoneNumber
Зберегти атрибут «telephoneNumber» з LDAP як «telephoneNumber» до кешу.
ldap_user_extra_attrs = phone:telephoneNumber
Зберегти атрибут «telephoneNumber» з LDAP як «phone» до кешу.
Типове значення: not set
ldap_user_ssh_public_key (рядок)
Типове значення: sshPublicKey
ldap_force_upper_case_realm (булеве значення)
Типове значення: false
ldap_enumeration_refresh_timeout (ціле число)
Типове значення: 300
ldap_purge_cache_timeout (ціле число)
Встановлення нульового значення цього параметра вимикає дію з очищення кешу. Будь ласка, зауважте, що якщо увімкнено нумерацію, дія з очищення є необхідною з метою виявлення записів, вилучених із сервера, її не можна вимикати. Типово, дія з очищення, якщо увімкнено нумерацію, виконується кожні 3 години.
Типове значення: 0 (вимкнено)
ldap_user_fullname (рядок)
Типове значення: cn
ldap_user_member_of (рядок)
Типове значення: memberOf
ldap_user_authorized_service (рядок)
Спочатку визначаються явні заборони (!svc). Далі SSSD шукає явні дозволи (svc) і нарешті загальні дозволи або allow_all (*).
Будь ласка, зауважте, що параметр налаштування ldap_access_order має включати “authorized_service”, щоб система змогла скористатися параметром ldap_user_authorized_service.
Типове значення: authorizedService
ldap_user_authorized_host (рядок)
Спочатку визначаються явні заборони (!host). Далі SSSD шукає явні дозволи (host) і нарешті загальні дозволи або allow_all (*).
Будь ласка, зауважте, що параметр налаштування ldap_access_order має включати “host”, щоб можна було скористатися параметром ldap_user_authorized_host.
Типове значення: host
ldap_user_certificate (рядок)
Default: no set in the general case, userCertificate;binary for IPA
ldap_group_object_class (рядок)
Типове значення: posixGroup
ldap_group_name (рядок)
Типове значення: cn
ldap_group_gid_number (рядок)
Типове значення: gidNumber
ldap_group_member (рядок)
Типове значення: memberuid (rfc2307) / member (rfc2307bis)
ldap_group_uuid (рядок)
Типове значення: не встановлено у загальному випадку, objectGUID для AD і ipaUniqueID для IPA
ldap_group_objectsid (рядок)
Типове значення: objectSid для ActiveDirectory, не встановлено для інших серверів.
ldap_group_modify_timestamp (рядок)
Типове значення: modifyTimestamp
ldap_group_type (ціле число)
Цей атрибут у поточній версії використовується лише засобом надання даних AD для визначення, чи є група локальною групою домену і чи має бути її відфільтровано у списку надійних (довірених) доменів.
Типове значення: groupType у засобі надання даних AD, у інших засобах не встановлено
ldap_group_nesting_level (ціле число)
Зауваження: за допомогою цього параметра визначається гарантований рівень вкладеності груп для обробки під час будь-якого пошуку. Втім, може бути повернуто і групи із більшим рівнем вкладеності, якщо під час попередніх пошуків відбувалася обробка вищих рівнів вкладеності. Крім того, послідовні пошуки інших груп можуть розширити набір результатів початкового пошуку, якщо запити щодо пошуку надходять повторно.
If ldap_group_nesting_level is set to 0 then no nested groups are processed at all. However, when connected to Active-Directory Server 2008 and later using “id_provider=ad” it is furthermore required to disable usage of Token-Groups by setting ldap_use_tokengroups to false in order to restrict group nesting.
Типове значення: 2
ldap_groups_use_matching_rule_in_chain
Здебільшого, не варто вмикати цю можливість. Пришвидшення за її допомогою можна буде спостерігати лише у дуже складних випадках вкладеності груп.
Якщо увімкнено цей параметр, SSSD використовуватиме можливість, якщо під час початкового сеансу з’єднання виявить, що на сервері передбачено підтримку можливості. Отже, насправді значення «True» означає «визначити автоматично».
Зауваження: відомо, що у поточній версії цією можливістю можна скористатися лише для Active Directory 2008 R1 та пізніших версій. Докладніше про це можна дізнатися з документації MSDN(TM)[1].
Типове значення: False
ldap_initgroups_use_matching_rule_in_chain
Якщо увімкнено цей параметр, SSSD використовуватиме можливість, якщо під час початкового сеансу з’єднання виявить, що на сервері передбачено підтримку можливості. Отже, насправді значення «True» означає «визначити автоматично».
Зауваження: відомо, що у поточній версії цією можливістю можна скористатися лише для Active Directory 2008 R1 та пізніших версій. Докладніше про це можна дізнатися з документації MSDN(TM)[1].
Типове значення: False
ldap_use_tokengroups
Типове значення: True для AD і IPA, інакше False.
ldap_netgroup_object_class (рядок)
У надавачі даних IPA має бути використано ipa_netgroup_object_class.
Типове значення: nisNetgroup
ldap_netgroup_name (рядок)
У надавачі даних IPA має бути використано ipa_netgroup_name.
Типове значення: cn
ldap_netgroup_member (рядок)
У надавачі даних IPA має бути використано ipa_netgroup_member.
Типове значення: memberNisNetgroup
ldap_netgroup_triple (рядок)
Цим параметром не можна скористатися у надавачі даних IPA.
Типове значення: nisNetgroupTriple
ldap_netgroup_modify_timestamp (рядок)
Цим параметром не можна скористатися у надавачі даних IPA.
Типове значення: modifyTimestamp
ldap_service_object_class (рядок)
Типове значення: ipService
ldap_service_name (рядок)
Типове значення: cn
ldap_service_port (рядок)
Типове значення: ipServicePort
ldap_service_proto (рядок)
Типове значення: ipServiceProtocol
ldap_service_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_search_timeout (ціле число)
Зауваження: роботу цього параметра буде змінено у наступних версіях SSSD. Ймовірно, його буде колись замінено на послідовність часів очікування для окремих типів пошуків.
Типове значення: 6
ldap_enumeration_search_timeout (ціле число)
Типове значення: 60
ldap_network_timeout (ціле число)
Типове значення: 6
ldap_opt_timeout (ціле число)
Типове значення: 6
ldap_connection_expire_timeout (ціле значення)
Типове значення: 900 (15 хвилин)
ldap_page_size (ціле число)
Типове значення: 1000
ldap_disable_paging (булеве значення)
Приклад: сервери OpenLDAP з модулем контролю сторінок, встановленим на сервері, але не увімкненим, повідомляють про підтримку у RootDSE, але цією підтримкою не можна скористатися.
Приклад: 389 DS має ваду, пов’язану з тим, що здатен підтримувати лише один процес контролю сторінок для одного з’єднання. У разі значного навантаження це може призвести до відмови у виконанні запитів.
Типове значення: False
ldap_disable_range_retrieval (булеве значення)
У Active Directory за допомогою правила MaxValRange (типове значення 1500 записів) обмежується кількість записів, які може бути отримано під час пошуку. Якщо у певній групі міститься більше записів учасників, до відповіді буде включено специфічне для AD розширення діапазону. За допомогою цього параметра можна вимкнути обробку розширення діапазону, отже великі групи буде представлено як такі, у яких немає учасників.
Типове значення: False
ldap_sasl_minssf (ціле значення)
Типове значення: типове для системи значення (зазвичай, визначається у ldap.conf)
ldap_deref_threshold (ціле число)
Ви можете повністю вимкнути пошуки з отриманням значення об’єкта (розіменуванням), якщо вкажете значення 0.
Пошук з розіменуванням — це отримання всіх записів учасників групи за одним викликом LDAP. У різних серверах LDAP може бути передбачено різні способи розіменування. У поточній версії передбачено підтримку серверів 389/RHDS, OpenLDAP та Active Directory.
Зауваження: якщо у одній з основ пошуку визначається фільтр пошуку, покращення швидкодії фільтрів розіменування буде вимкнено, незалежно від використання цього параметра.
Типове значення: 10
ldap_tls_reqcert (рядок)
never = клієнт не надсилатиме запиту і не перевірятиме жодних сертифікатів сервера.
allow = надіслати запит щодо сертифіката сервера. Якщо сертифікат не буде надано, продовжити сеанс у звичайному режимі. Якщо буде надано помилковий сертифікат, ігнорувати і продовжити сеанс у звичайному режимі.
try = надіслати запит щодо сертифіката сервера. Якщо сертифікат не буде надано, продовжити сеанс у звичайному режимі. Якщо буде надано помилковий сертифікат, негайно перервати сеанс.
demand = надіслати запит щодо сертифіката сервера. Якщо сертифікат не буде надано або буде надано помилковий сертифікат, негайно перервати сеанс.
hard = те саме, що і “demand”
Типове значення: hard
ldap_tls_cacert (рядок)
Типове значення: використовувати типові параметри OpenLDAP, що зберігаються у /etc/openldap/ldap.conf
ldap_tls_cacertdir (рядок)
Типове значення: використовувати типові параметри OpenLDAP, що зберігаються у /etc/openldap/ldap.conf
ldap_tls_cert (рядок)
Типове значення: not set
ldap_tls_key (рядок)
Типове значення: not set
ldap_tls_cipher_suite (рядок)
Типове значення: використовувати типові параметри OpenLDAP, що зберігаються у /etc/openldap/ldap.conf
ldap_id_use_start_tls (булеве значення)
Типове значення: false
ldap_id_mapping (булеве значення)
У поточній версії у цій можливості передбачено підтримку лише встановлення відповідності objectSID у ActiveDirectory.
Типове значення: false
ldap_min_id, ldap_max_id (ціле число)
Типове значення: не встановлено (обидва параметри встановлено у значення 0)
ldap_sasl_mech (рядок)
Типове значення: not set
ldap_sasl_authid (рядок)
Типове значення: вузол/назва_вузла@ОБЛАСТЬ
ldap_sasl_realm (рядок)
Типове значення: значення krb5_realm.
ldap_sasl_canonicalize (булеве значення)
Типове значення: false;
ldap_krb5_keytab (рядок)
Типове значення: системна таблиця ключів, зазвичай /etc/krb5.keytab
ldap_krb5_init_creds (булеве значення)
Типове значення: true
ldap_krb5_ticket_lifetime (ціле число)
Типове значення: 86400 (24 години)
krb5_server, krb5_backup_server (рядок)
Під час використання виявлення служб для серверів KDC або kpasswd SSSD спочатку намагається знайти записи DNS, у яких визначається протокол _udp. Використання протоколу _tcp відбувається, лише якщо таких записів не вдасться знайти.
У попередніх випусках SSSD цей параметр мав назву «krb5_kdcip». У поточній версії передбачено розпізнавання цієї застарілої назви, але користувачам варто перейти на використання «krb5_server» у файлах налаштувань.
krb5_realm (рядок)
Типове значення: типове значення системи, див. /etc/krb5.conf
krb5_canonicalize (булеве значення)
Типове значення: false
krb5_use_kdcinfo (булеве значення)
Див. сторінку підручника (man) sssd_krb5_locator_plugin(8), щоб дізнатися більше про додаток пошуку.
Типове значення: true
ldap_pwd_policy (рядок)
none — не використовувати перевірки на боці клієнта. У разі використання цього варіанта перевірку на боці сервера вимкнено не буде.
shadow — використовувати атрибути у стилі shadow(5) для визначення того, чи чинним є пароль.
mit_kerberos — використовувати атрибути MIT Kerberos для визначення завершення строку дії пароля. У разі зміни пароля скористайтеся chpass_provider=krb5 для оновлення цих атрибутів.
Типове значення: none
Зауваження: якщо правила поводження з паролями налаштовано на боці сервера, ці правила мають пріоритет над правилами, встановленими за допомогою цього параметра.
ldap_referrals (булеве значення)
Зауважте, що sssd підтримує визначення напрямків, лише якщо систему зібрано з версією OpenLDAP 2.4.13 або новішою версією.
Перехід за спрямуваннями може призвести до значних втрат швидкодії у середовищах, де такі спрямування використовуються широко. Прикладом такого середовища може бути Microsoft Active Directory. Якщо у вашому середовищі спрямування не є обов’язковими, встановлення для цього параметра значення «false» може значно пришвидшити роботу.
Типове значення: true
ldap_dns_service_name (рядок)
Типове значення: ldap
ldap_chpass_dns_service_name (рядок)
Типове значення: не встановлено, тобто пошук служб вимкнено
ldap_chpass_update_last_change (булеве значення)
Типове значення: False
ldap_access_filter (рядок)
Приклад:
access_provider = ldap ldap_access_filter = (employeeType=admin)
У прикладі доступ до цього вузла обмежено користувачами, чий атрибут employeeType встановлено у значення «admin».
Автономне кешування для цієї можливості обмежено визначенням того, чи було надано користувачеві під час попередньої спроби увійти до системи з мережі права доступу. Якщо під час останньої спроби увійти такі права було надано, система продовжуватиме надавати права доступу у автономному режимі. Якщо ж таких прав не було надано, у автономному режимі їх також не буде надано.
Типове значення: порожній рядок
ldap_account_expire_policy (рядок)
Будь ласка, зауважте, що завжди варто використовувати керування доступом на боці сервера, тобто сервер LDAP має відмовляти у запитах щодо прив’язування з відповідним кодом помилки, навіть якщо вказано правильний пароль.
Можна використовувати такі значення:
shadow: це значення ldap_user_shadow_expire допомагає визначити, чи завершено строк дії облікового запису.
ad: скористатися значенням 32-бітового поля ldap_user_ad_user_account_control і дозволити доступ, якщо другий біт має нульове значення. Якщо атрибут не буде знайдено, доступ буде дозволено. Також буде перевірено, чи не вичерпано строк дії облікового запису.
rhds, ipa, 389ds: використовувати для перевірки доступу значення ldap_ns_account_lock.
nds: для перевірки доступу використовувати значення ldap_user_nds_login_allowed_time_map, ldap_user_nds_login_disabled і ldap_user_nds_login_expiration_time. Якщо не буде виявлено жодного з цих атрибутів, надати доступ. Цю можливість ще не перевірено достатнім чином. Будь ласка, якщо помітите якісь вади, повідомте про них за допомогою настанов на сторінці http://fedorahosted.org/sssd.
Будь ласка, зауважте, що параметр налаштування ldap_access_order має включати “expire”, щоб можна було користуватися параметром ldap_account_expire_policy.
Типове значення: порожній рядок
ldap_access_order (рядок)
filter: використовувати ldap_access_filter
lockout: використовувати блокування облікових записів. Якщо встановлено, цей параметр забороняє доступ, якщо існує атрибут ldap «pwdAccountLockedTime» і його значенням є «000001010000Z». Будь ласка, ознайомтеся із документацією до параметра ldap_pwdlockout_dn. Зауважте, що для працездатності цієї можливості слід встановити «access_provider = ldap».
Будь ласка, зауважте, що цей параметр має нижчий пріоритет за параметр «ppolicy», його може бути вилучено у наступних випусках.
ppolicy: використовувати блокування облікових записів. Якщо встановлено, забороняє доступ у випадку наявності атрибута ldap «pwdAccountLockedTime» рівного «000001010000Z» або такого, що відповідає моменту часу у минулому. Значення атрибута «pwdAccountLockedTime» має завершуватися на «Z», що позначає часовий пояс UTC. Підтримки інших часових поясів у поточній версії не передбачено, їхнє використання призводитиме до появи повідомлення про заборону доступу, коли користувачі намагатимуться увійти до системи. Докладніший опис можна знайти у розділі щодо параметра ldap_pwdlockout_dn. Будь ласка, зауважте, що для працездатності цього параметра слід встановити значення «access_provider = ldap».
expire: використовувати ldap_account_expire_policy
pwd_expire_policy_reject, pwd_expire_policy_warn, pwd_expire_policy_renew: Ці параметри корисні, якщо користувачам потрібні попередження щодо скорого завершення строку дії пароля, і у випадках, коли розпізнавання засновано на відмінних від паролів методах, наприклад на ключах SSH.
Відмінність між цими параметрами полягає у дії, яку буде виконано, якщо строк дії пароля вичерпано: pwd_expire_policy_reject — користувачеві буде заборонено вхід до системи, pwd_expire_policy_warn — користувач ще зможе увійти до системи, pwd_expire_policy_renew — система попросить користувача негайно змінити пароль.
Зауважте, що якщо строк дії пароля вичерпано, запит із явним повідомленням від SSSD не надходитиме.
Будь ласка, зауважте, що для того, щоб цим можна було скористатися, слід встановити «access_provider = ldap». Крім того, слід встановити для параметра «ldap_pwd_policy» відповідні правила поводження із паролями.
authorized_service: використовувати для визначення можливості доступу атрибут authorizedService
host: за допомогою цього атрибута вузла можна визначити права доступу
Типове значення: filter
Зауважте, що програма повідомить про помилку, якщо одне значення було використано декілька разів.
ldap_pwdlockout_dn (рядок)
Приклад: cn=ppolicy,ou=policies,dc=example,dc=com
Типове значення: cn=ppolicy,ou=policies,$ldap_search_base
ldap_deref (рядок)
never: ніколи не виконувати розіменування псевдонімів.
searching: розіменування псевдонімів відбувається у межах основного об’єкта, а не на основі визначення місця основного об’єкта пошуку.
finding: розіменування псевдонімів відбувається лише під час визначення місця основного об’єкта пошуку.
always: розіменування псевдонімів відбувається як під час пошуку, так і під час визначення місця основного об’єкта пошуку.
Типове значення: не встановлено (обробка бібліотеками LDAP клієнта за сценарієм never)
ldap_rfc2307_fallback_to_local_users (булеве значення)
У деяких середовищах, де використовується схема RFC2307, локальних користувачів можна зробити учасниками груп LDAP додаванням імен цих користувачів до атрибута memberUid. Узгодженість домену може бути скомпрометовано, якщо буде виконано подібне додавання учасника, тому SSSD за звичайних умов вилучає записи користувачів, яких «не вистачає», з кешованих даних щодо участі у групах, щойно nsswitch спробує отримати дані щодо користувачів за допомогою виклику getpw*() або initgroups().
У разі використання цього параметра програма повертається до перевірки посилань на локальних користувачів і кешує їх так, що наступні виклики initgroups() розширюватимуть список локальних користувачів додатковими групами LDAP.
Типове значення: false
wildcart_limit (integer)
At the moment, only the InfoPipe responder supports wildcard lookups.
Default: 1000 (often the size of one page)
ПАРАМЕТРИ SUDO¶
Докладні настанов щодо налаштовування sudo_provider можна знайти на сторінці довідника (man) sssd-sudo(5).
ldap_sudorule_object_class (рядок)
Типове значення: sudoRole
ldap_sudorule_name (рядок)
Типове значення: cn
ldap_sudorule_command (рядок)
Типове значення: sudoCommand
ldap_sudorule_host (рядок)
Типове значення: sudoHost
ldap_sudorule_user (рядок)
Типове значення: sudoUser
ldap_sudorule_option (рядок)
Типове значення: sudoOption
ldap_sudorule_runasuser (рядок)
Типове значення: sudoRunAsUser
ldap_sudorule_runasgroup (рядок)
Типове значення: sudoRunAsGroup
ldap_sudorule_notbefore (рядок)
Типове значення: sudoNotBefore
ldap_sudorule_notafter (рядок)
Типове значення: sudoNotAfter
ldap_sudorule_order (рядок)
Типове значення: sudoOrder
ldap_sudo_full_refresh_interval (ціле число)
Це значення має перевищувати значення ldap_sudo_smart_refresh_interval
Типове значення: 21600 (6 годин)
ldap_sudo_smart_refresh_interval (ціле число)
Якщо підтримки атрибутів USN на сервері не передбачено, буде використано дані атрибута modifyTimestamp.
Типове значення: 900 (15 хвилин)
ldap_sudo_use_host_filter (булеве значення)
Типове значення: true
ldap_sudo_hostnames (рядок)
Якщо значення цього параметра є порожнім, SSSD намагатиметься визначити назву вузла та повну назву комп’ютера у домені у автоматичному режимі.
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Типове значення: не вказано
ldap_sudo_ip (рядок)
Якщо значення цього параметра є порожнім, SSSD намагатиметься визначити адресу у автоматичному режимі.
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Типове значення: не вказано
ldap_sudo_include_netgroups (булеве значення)
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Типове значення: true
ldap_sudo_include_regexp (булеве значення)
Якщо для ldap_sudo_use_host_filter встановлено значення false, цей параметр ні на що не впливатиме.
Типове значення: true
На цій сторінці довідника наведено дані щодо відповідності назв атрибутів. Докладний опис семантики атрибутів, пов’язаних з sudo, можна знайти у довідці з sudoers.ldap(5).
ПАРАМЕТРИ AUTOFS¶
Some of the defaults for the parameters below are dependent on the LDAP schema.
ldap_autofs_map_master_name (рядок)
Типове значення: auto.master
ldap_autofs_map_object_class (рядок)
Типове значення: automountMap
ldap_autofs_map_name (рядок)
Default: ou (rfc2307), automountMapName (rfc2307bis, ipa, ad)
ldap_autofs_entry_object_class (рядок)
Default: automount
ldap_autofs_entry_key (рядок)
Default: cn (rfc2307), automountKey (rfc2307bis, ipa, ad)
ldap_autofs_entry_value (рядок)
Типове значення: automountInformation
Будь ласка, зауважте, що засіб автоматичного монтування читає основну карту лише під час запуску, отже якщо до ssd.conf внесено будь-які пов’язані з autofs зміни, типово слід перезапустити фонову службу автоматичного монтування після перезапуску SSSD.
ДОДАТКОВІ ПАРАМЕТРИ¶
Підтримку цих параметрів передбачено доменами LDAP, але користуватися ними слід обережно. Будь ласка, використовуйте їх у налаштуваннях, лише якщо вам відомі наслідки ваших дій.
ldap_netgroup_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_user_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_group_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
Note
Якщо увімкнено параметр «ldap_use_tokengroup», пошук у Active Directory не буде обмежуватися і повертатиме усі дані щодо участі у групах, навіть без прив’язки до gid. Рекомендуємо вимкнути цю можливість, якщо назви груп показуються неправильно.
ldap_sudo_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
ldap_autofs_search_base (рядок)
синтаксис:
search_base[?scope?[filter][?search_base?scope?[filter]]*]
Діапазоном може бути одне зі значень, «base» (основа), «onelevel» (окремий рівень) або «subtree» (піддерево). Докладніший опис діапазонів наведено у розділі 4.5.1.2 документа http://tools.ietf.org/html/rfc4511
Фільтром має бути коректний запис фільтрування LDAP, відповідно до специфікації http://www.ietf.org/rfc/rfc2254.txt
Приклади використання цих синтаксичних конструкцій можна знайти у розділі прикладів «ldap_search_base».
Типове значення: значення ldap_search_base
Будь ласка, зауважте, що підтримки визначення області або фільтра для пошуків на сервері Active Directory не передбачено. Це може призвести до отримання значної кількості результатів і викликати реакцію з боку розширення діапазону отримання (Range Retrieval).
РЕЗЕРВ¶
Можливість резервування надає змогу модулям обробки автоматично перемикатися на інші сервери, якщо спроба встановлення з’єднання з поточним сервером зазнає невдачі.
Синтаксичні конструкції визначення резервного сервера¶
Список записів серверів, відокремлених комами. Між комами можна використовувати довільну кількість пробілів. Порядок у списку визначає пріоритет. У списку може бути будь-яка кількість записів серверів.
Для кожного з параметрів налаштування з увімкненим резервним отриманням існує два варіанти: основний і резервний. Ідея полягає у тому, що сервери з основного списку мають вищий пріоритет за резервні сервери, пошук же на резервних серверах виконується, лише якщо не вдасться з’єднатися з жодним з основних серверів. Якщо буде вибрано резервний сервер, встановлюється час очікування у 31 секунду. Після завершення часу очікування SSSD періодично намагатиметься повторно встановити з’єднання з основними серверами. Якщо спроба буде успішною, поточний активний резервний сервер буде замінено на основний.
Механізм визначення резервного сервера¶
Механізмом резервного використання розрізняються окремі комп’ютери і служби. Спочатку модуль намагається визначити назву вузла вказаного комп’ютера. Якщо спроби визначення зазнають невдачі, комп’ютер вважатиметься від’єднаним від мережі. Подальших спроб встановити з’єднання з цим комп’ютером для всіх інших служб не виконуватиметься. Якщо вдасться виконати визначення, модуль зробити спробу встановити з’єднання зі службою на визначеному комп’ютері. Якщо спроба з’єднання зі службою не призведе до успіху, непрацездатною вважатиметься лише служба, модуль автоматично перемкнеться на наступну службу. Комп’ютер служби вважатиметься з’єднаним з мережею, можливі подальші спроби використання інших служб.
Подальші спроби встановлення з’єднання з комп’ютерами або службами, позначеними як такі, що перебувають поза мережею, буде виконано за певний проміжок часу. У поточній версії цей проміжок є незмінним і дорівнює 30 секундам.
Якщо список комп’ютерів буде вичерпано, основний модуль перейде у режим автономної роботи і повторюватиме спроби з’єднання кожні 30 секунд.
ПОШУК СЛУЖБ¶
За допомогою можливості виявлення служб основні модулі мають змогу автоматично визначати відповідні сервери для встановлення з’єднання на основі даних, отриманих у відповідь на спеціальний запит до DNS. Підтримки цієї можливості для резервних серверів не передбачено.
Налаштування¶
Якщо серверів не буде вказано, модуль автоматично використає визначення служб для пошуку сервера. Крім того, користувач може використовувати і фіксовані адреси серверів і виявлення служб. Для цього слід вставити особливе ключове слово, «_srv_», до списку серверів. Пріоритет визначається за вказаним порядком. Ця можливість є корисною, якщо, наприклад, користувач надає перевагу використанню виявлення служб, якщо це можливо, з поверненням до використання певного сервера, якщо за допомогою DNS не вдасться виявити жодного сервера.
Назва домену¶
З докладнішими відомостями щодо параметра «dns_discovery_domain» можна ознайомитися на сторінці підручника (man) sssd.conf(5).
Протокол¶
Запитами зазвичай визначається протокол _tcp. Виключення документовано у описі відповідного параметра.
Також прочитайте¶
Докладніші відомості щодо механізмів визначення служб можна знайти у RFC 2782.
ВСТАНОВЛЕННЯ ВІДПОВІДНОСТІ ІДЕНТИФІКАТОРІВ¶
Можливість встановлення відповідності ідентифікаторів надає SSSD змогу працювати у режимі клієнта Active Directory без потреби для адміністраторів розширювати атрибути користувача з метою підтримки атрибутів POSIX для ідентифікаторів користувачів та груп.
Зауваження: якщо увімкнено встановлення відповідності ідентифікаторів, атрибути uidNumber та gidNumber буде проігноровано. Так зроблено з метою уникання конфліктів між автоматично визначеними та визначеними вручну значеннями. Якщо вам потрібно призначити певні значення вручну, вручну доведеться призначати ВСІ значення.
Будь ласка, зауважте, що зміна параметрів налаштувань, пов’язаних із встановленням відповідності ідентифікаторів, призведе до зміни ідентифікаторів користувачів і груп. У поточній версії SSSD зміни ідентифікаторів не передбачено, отже, вам доведеться вилучити базу даних SSSD. Оскільки кешовані паролі також зберігаються у базі даних, вилучення бази даних слід виконувати, лише якщо сервери розпізнавання є доступними, інакше користувачі не зможуть отримати потрібного їм доступу. З метою кешування паролів слід виконати сеанс розпізнавання. Для вилучення бази даних недостатньо використання команди sss_cache(8), процедура має складатися з декількох кроків:
Крім того, оскільки зміна ідентифікаторів може потребувати коригування інших властивостей системи, зокрема прав власності на файли і каталоги, варто спланувати усе наперед і ретельно перевірити налаштування встановлення відповідності ідентифікаторів.
Алгоритм встановлення відповідності¶
Active Directory надає значення objectSID для всіх об’єктів користувачів і груп у каталозі. Таке значення objectSID можна розбити на компоненти, які відповідають профілю домену Active Directory та відносному ідентифікатору (RID) об’єкта користувача або групи.
Алгоритмом встановлення відповідності ідентифікаторів SSSD передбачено поділ діапазону доступних UID на розділи однакових розмірів, які називаються «зрізами». Кожен зріз відповідає простору, доступному певному домену Active Directory.
Коли SSSD вперше зустрічає запис користувача або групи певного домену, SSSD віддає один з доступних зрізів під цей домен. З метою уможливлення відтворення такого призначення зрізів на різних клієнтських системах, зріз вибирається за таким алгоритмом:
Рядок SID передається алгоритмові murmurhash3 з метою перетворення його на хешоване 32-бітове значення. Для вибору зрізу використовується ціла частина від ділення цього значення на загальну кількість доступних зрізів.
Зауваження: за такого алгоритму можливі збіги за хешем та відповідною цілою частиною від ділення. У разі виявлення таких збігів буде вибрано наступний доступних зріз, але це може призвести до неможливості відтворити точно такий самий набір зрізів на інших комп’ютерах (оскільки в такому разі на вибір зрізів може вплинути порядок, у якому виконується обробка даних). Якщо ви зіткнулися з подібною ситуацією, рекомендуємо вам або перейти на використання явних атрибутів POSIX у Active Directory (вимкнути встановлення відповідності ідентифікаторів) або налаштувати типовий домен з метою гарантування того, що принаймні цей домен матиме еталонні дані. Докладніше про це у розділі «Налаштування».
Налаштування¶
Мінімальне налаштовування (у розділі “[domain/НАЗВА_ДОМЕНУ]”):
ldap_id_mapping = True ldap_schema = ad
За типових налаштувань буде створено 10000 зрізів, кожен з яких може містити до 200000 ідентифікаторів, починаючи з 10001 і аж до 2000100000. Цього має вистачити для більшості розгорнутих середовищ.
Додаткові
налаштування
ldap_idmap_range_min (ціле число)
Зауваження: цей параметр відрізняється від “min_id” тим, що “min_id” працює як фільтр відповідей на запити щодо цього домену, а цей параметр керує діапазоном призначення ідентифікаторів. Ця відмінність є мінімальною, але загалом варто визначати “min_id” меншим або рівним “ldap_idmap_range_min”
Типове значення: 200000
ldap_idmap_range_max (ціле число)
Зауваження: цей параметр відрізняється від “max_id” тим, що “max_id” працює як фільтр відповідей на запити щодо цього домену, а цей параметр керує діапазоном призначення ідентифікаторів. Ця відмінність є мінімальною, але загалом варто визначати “max_id” більшим або рівним “ldap_idmap_range_max”
Типове значення: 2000200000
ldap_idmap_range_size (ціле число)
ЗАУВАЖЕННЯ: значення цього параметра має бути не меншим за значення максимального запланованого до використання RID на сервері Active Directory. Пошук даних та вхід для будь-яких користувачів з RID, що перевищує це значення, буде неможливим.
Приклад: якщо найсвіжішим доданим користувачем Active Directory є користувач з objectSid=S-1-5-21-2153326666-2176343378-3404031434-1107, «ldap_idmap_range_size» повинне мати значення, яке є не меншим за 1107.
Для майбутнього можливого розширення важливо все спланувати наперед, оскільки зміна цього значення призведе до зміни усіх прив’язок ідентифікаторів у системі, отже зміни попередніх локальних ідентифікаторів користувачів.
Типове значення: 200000
ldap_idmap_default_domain_sid (рядок)
Типове значення: not set
ldap_idmap_default_domain (рядок)
Типове значення: not set
ldap_idmap_autorid_compat (булеве значення)
Якщо встановлено цей параметр, домени призначатимуться, починаючи з нульового зрізу з поступовим зростанням номерів на кожен додатковий домен.
Зауваження: цей алгоритм є недетерміністичним (залежить від порядку записів користувачів та груп). Якщо з метою сумісності з системою, у якій запущено winbind, буде використано цей алгоритм, варто також скористатися параметром “ldap_idmap_default_domain_sid” з метою гарантування послідовного призначення принаймні одного домену до нульового зрізу.
Типове значення: False
Добре відомі SID¶
У SSSD передбачено підтримку пошуку назв за добре відомими (Well-Known) SID, тобто SID із особливим запрограмованим призначенням. Оскільки типові користувачі і групи, пов’язані із цими добре відомими SID не мають еквівалентів у середовищі Linux/UNIX, ідентифікаторів POSIX для цих об’єктів немає.
Простір назв SID упорядковано службами сертифікації, які виглядають як інші домени. Службами сертифікації для добре відомих (Well-Known) SID є
Написані літерами верхнього регістру ці назви буде використано як назви доменів для повернення повних назв добре відомих (Well-Known) SID.
Оскільки деякі з програм надають змогу змінювати дані щодо керування доступом на основі SID за допомогою назви, а не безпосереднього використання, у SSSD передбачено підтримку пошуку SID за назвою. Щоб уникнути конфліктів, для пошуку добре відомих (Well-Known) SID приймаються лише повні назви. Отже, не можна використовувати як назви доменів у sssd.conf такі назви: «NULL AUTHORITY», «WORLD AUTHORITY», «LOCAL AUTHORITY», «CREATOR AUTHORITY», «NT AUTHORITY» та «BUILTIN».
ПРИКЛАД¶
У наведеному нижче прикладі припускається, що SSSD налаштовано належним чином, а LDAP встановлено на один з доменів з розділу [domains].
[domain/LDAP] id_provider = ldap auth_provider = ldap ldap_uri = ldap://ldap.mydomain.org ldap_search_base = dc=mydomain,dc=org ldap_tls_reqcert = demand cache_credentials = true
ПРИКЛАД ФІЛЬТРА ДОСТУПУ LDAP¶
У наведеному нижче прикладі припускається, що SSSD налаштовано належним чином і використано ldap_access_order=lockout.
[domain/LDAP] id_provider = ldap auth_provider = ldap access_provider = ldap ldap_access_order = lockout ldap_pwdlockout_dn = cn=ppolicy,ou=policies,dc=mydomain,dc=org ldap_uri = ldap://ldap.mydomain.org ldap_search_base = dc=mydomain,dc=org ldap_tls_reqcert = demand cache_credentials = true
ЗАУВАЖЕННЯ¶
Описи деяких з параметрів налаштування на цій сторінці підручника засновано на даних сторінки підручника (man) ldap.conf(5) з пакунка OpenLDAP 2.4.
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
sssd(8), sssd.conf(5), sssd-ldap(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-sudo(5), sss_cache(8), sss_debuglevel(8), sss_groupadd(8), sss_groupdel(8), sss_groupshow(8), sss_groupmod(8), sss_useradd(8), sss_userdel(8), sss_usermod(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5)
AUTHORS¶
Основна гілка розробки SSSD — http://fedorahosted.org/sssd
NOTES¶
- 1.
- документації MSDN(TM)
01/16/2019 | SSSD |